3 Network analysis
Network analysis is a powerful technique for geospatial problems. In particular, network metrics and routing stand out as a go-to approach for urban and transport applications. Analyses relying on network metrics connect back to real-world phenomena like mixed use at pedestrian scale and disconnected urbanism. For example, network centrality measures like closeness and betweenness centralities have been shown to correlate with mixed use at the pedestrian scale [1]. Composite or novel network measures like the street network disconnectivity index (SNDi) have been show to correlated with new forms of disconnected urbanism (like gated communities) resulting in sprawl [2].
However, network metrics don’t focus on the citizen. Routing approaches addresses this disconnect. Routing intrinsically accounts for 2 of 5C’s of walkability [3]: Connected and Convenient. Even the shortest path traversal of the relevant network can pick the best connected and convenient route.
A key advantage of network routing is that it can account for various aspects of real world routes through weighting. For example, steeper streets can be weighted to be less “comfortable” than flat ones. Depending on the available data, streets could also be weighted by their pedestrian infrastructure e.g. conspicuous footpaths and adequate lighting.
3.1 Tools, analysis and code
The walkability analyses in Chapter 3 and Chapter 4 were carried out in Python. They are described in detail in a series of blog posts ([4], [5], [6], [7]) and in Jupyter notebooks on Github [8].
Key Python packages for the analyses are osmnx and pandana. osmnx not only facilitates data downloads from Openstreetmap but also converts streets to a network representation for network analysis / routing. pandana speeds up the many-to-many travel distance calculations to a matter of seconds. pandana is able to run many-to-many calculations of origin to nearest destination (and upto 10th nearest) - where every intersection node in the street network is the origin.
Analyses in Chapter 2 and Chapter 5 were carried out in R and relied on osmdata, sf, sfnetworks [9], elevatr [10] and slopes [11]. It’s possible to convert the walkability analysis from Python to R but it’s likely that sfnetworks will not be as performant as pandana for many-to-many routing at the scale of a city. dodgr [12] looks promising in this regard. One of the advantages of R (over Python) is the sophistication of packages for data visualisation and statistical modelling.
3.2 Converting distance to time
Distance is a good metric for planners as it is objective. However, citizens rarely think in this metric while walking. Travel times according to their own abilities is the rubric of choice. This can pose problems as people’s sense of time can be subjective and highly variable. The best way to address the variability is by fitting distance to travel time functions to data collected from travel surveys or fitness apps [13] [14]. Unfortunately, collecting the relevant data for the area in question and fitting the appropriate functions is a research project in its own right so the simplest and most well-known approach, Tobler’s Hiking function [15], has been used in this study.